В этом шаге мы посмотрим как работает режим сглаживания для точек и разберемся, что же такое viewport.
Сделайте все те же действия, что и в шаге 16, т.е. создайте проект и добавьте в него OpenGL.
Все изменения будут касаться только функции OnDraw. Вот код этой функции:
void CExampleView::OnDraw(CDC* pDC)
{
CRect clientRect;
CExampleDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
GetClientRect(&clientRect);
glViewport(0, 0, clientRect.right/2, clientRect.bottom/2);
glClearColor (0.5, 0.5, 0.75, 1.0); // цвет фона
glClear (GL_COLOR_BUFFER_BIT); // очистка буфера цвета
glEnable(GL_POINT_SMOOTH);
glPointSize (20); // размер точек
glColor3f (1.0, 0.0, 0.5); // текущий цвет примитивов
glBegin (GL_POINTS);
glVertex2f (-1, -1);
glVertex2f (-1, 1);
glVertex2f (0, 0);
glVertex2f (1, -1);
glVertex2f (1, 1);
glEnd();
glDisable(GL_POINT_SMOOTH);
}
Здесь следует обратить внимание на команду glEnable(GL_POINT_SMOOTH), которая включает сглаживания для точек и на команду glViewport(...), которая определяет область вывода в окне. Скомпилируйте программку и посмотрите что получилось.